package com.ruoyi.service;

import java.math.BigDecimal;
import java.util.List;

import com.ruoyi.domain.YcTask;

/**
 * 课题Service接口
 *
 * @author ruoyi
 * @date 2020-09-08
 */
public interface IYcTaskService {
    /**
     * 查询课题
     *
     * @param id 课题ID
     * @return 课题
     */
    public YcTask selectYcTaskById(Long id);

    /**
     * 查询课题列表
     *
     * @param ycTask 课题
     * @return 课题集合
     */
    public List<YcTask> selectYcTaskList(YcTask ycTask);

    /**
     * 新增课题
     *
     * @param ycTask 课题
     * @return 结果
     */
    public int insertYcTask(YcTask ycTask);

    /**
     * 修改课题
     *
     * @param ycTask 课题
     * @return 结果
     */
    public int updateYcTask(YcTask ycTask);

    /**
     * 批量删除课题
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteYcTaskByIds(String ids);

    /**
     * 删除课题信息
     *
     * @param id 课题ID
     * @return 结果
     */
    public int deleteYcTaskById(Long id);


    /**
     * 提交申请备案
     *
     * @param id 课题ID
     * @return 结果
     */
    int submitApplications(Long id);


    /**
     * 申请备案
     *
     * @param id 课题ID
     * @return 结果
     */
    int updateSubmitForApproval(Long id);


    /**
     * 撤销申请
     *
     * @param id 课题ID
     * @return 结果
     */

    int withdrawClaim(Long id);


    /**
     * 驳回申请备案
     *
     * @param id 课题ID
     * @return 结果
     */

    int refusal(Long id);


    /**
     * 驳回申请审批
     *
     * @param id 课题ID
     * @return 结果
     */

    int updateDismissTheApproval(Long id);


    /**
     * 通过申请备案
     *
     * @param id 课题ID
     * @return 结果
     */

    int consent(Long id);


    /**
     * 通过申请审批
     *
     * @param id 课题ID
     * @return 结果
     */

    int updateBeApproved(Long id);


    /**
     * 管理员
     *
     * @param ycTask 课题对象
     * @return 课题
     */
    List<YcTask> selectYcTaskListAdmin(YcTask ycTask);


}
